package com.newlink.building.common_base.constant

import com.newlink.building.common_base.api.Base_ApiEnv

/**
 * Created by xiaodong on 2022/7/25.
 */
object Base_Constant {

    const val COUNTRY_CODE: String = "select_country_code"
    const val SCREEN_DESIGN_SIZE = 360f

    const val KIT_REDIRECT_URL = "https://redirect.neutrallink.com/neutrallink/kit.html?param="
    const val FANVIL_RUL = "https://fdps.fanvil.com/api/"  // neutral渠道的FCMS服务器地址
    var BASE_URL_CONST = "http://service.neutrallink.com"
    var BASE_XLINK_URL = "https://test.xlinkcloud.com"  // neutral渠道的协议服务地址

    var MQTT_STATUS: Int = 4

    // neutral 渠道默认配置 - 使用pre.xlinkcloud.com作为默认，用户可动态切换
    var env: Base_ApiEnv = Base_ApiEnv.TEST
    var BASE_URL = BASE_XLINK_URL

    val DEVICE_SERVICE_URL = "https://api.neutrallink.com/"
    
    val API_PATH = "/service/"
    val NETWORK_LISTEN_PORT = 18080

    const val TEST_ACCOUNT = "sip:20001@172.16.2.5"

    const val USER_LICENSES_URL = "file:///android_asset/web/user_license.html"
    const val PRIVACY_POLICY_URL = "file:///android_asset/web/privace_policy.html"
    const val PRIVACY_POLICY_PUBLIC_URL = "https://www.neutrallink.com/privacy-policy"
    const val PRIVACY_POLICY_PUBLIC_URL_EN = "https://www.neutrallink.com/en/privacy-policy"
    const val USER_AGREEMENT_PUBLIC_URL = "https://www.neutrallink.com/user-agreement"
    const val USER_AGREEMENT_PULIC_URL_EN = "https://www.neutrallink.com/en/user-agreement"
    const val USER_LICENSES_URL_EN = "file:///android_asset/web_en/user_license.html"
    const val PRIVACY_POLICY_URL_EN = "file:///android_asset/web_en/privace_policy.html"

    const val HELP_URL = "file:///android_asset/web/help.html"
    const val HELP_URL_EN = "file:///android_asset/web_en/help.html"
    const val HELP_CREATEAPP = "file:///android_asset/web/help_createApp.html"
    const val HELP_FORGOTPASSWORD = "file:///android_asset/web/help_forgotPassword.html"
    const val HELP_OPERATIONS = "file:///android_asset/web/help_operations.html"
    const val HELP_TEMPORARYPASSWORD = "file:///android_asset/web/help_temporaryPassword.html"

    const val HELP_CREATEAPP_EN = "file:///android_asset/web_en/help_createApp.html"
    const val HELP_FORGOTPASSWORD_EN = "file:///android_asset/web_en/help_forgotPassword.html"
    const val HELP_OPERATIONS_EN = "file:///android_asset/web_en/help_operations.html"
    const val HELP_TEMPORARYPASSWORD_EN = "file:///android_asset/web_en/help_temporaryPassword.html"

    const val LOGIN_KEY = "user_login_state"
    const val FIRST_USE = "app_initial_launch"
    const val PRIMARY_ACCOUNT_KEY = "main_account_data"
    const val USERNAME_KEY = "user_identifier"
    const val MQTT_ADDR_KEY = "network_broker_addr"
    const val MQTT_PORT_KEY = "network_broker_port"
    const val MQTT_NAME_KEY = "network_client_name"
    const val MQTT_PASSWORD_KEY = "network_client_password"
    const val SIP_LINE = "sip_line"
    const val IPHONE_NUMBER = "iphone_number"
    const val PASSWORD_KEY = "password"
    const val TOKEN_KEY = "token"
    const val KCP_CONNECT_ID_KEY = "kcp_connect_id"
    const val KCP_DEST_DEVICE_ID = "kcp_dest_device_id"
    const val USER_ID_KEY = "userId"
    const val PRJ_ID_KEY = "prjId"
    const val PRJ_DATA_KEY = "prjDataId"
    const val AGORA_ID_KEY = "agoraId"
    const val AGORA_App_ID_KEY = "agoraAppId"
    const val KCP_SERVER_TYPE_KEY = "kcp_server_type"
    const val KCP_USER_ID_KEY = "kcp_userId"
    const val COUNTRY_CODE_KEY = "country_code"
    const val BT_OPEN_DOOR_KEY = "bt_open_door_key"
    const val BT_OPEN_DOOR_LAST_ADDR = "bt_open_door_last_addr"
    const val USER_INFO_KEY = "userInfoData"
    const val MQTT_INFO_KEY = "mqttInfoData"
    const val USER_ACCOUNT_INFO_LIST_KEY = "userAccountInfoList"
    const val USER_INFO_RESP_KEY = "UserInfoResp"
    const val SIP_INFO_KEY = "sipInfoData"
    const val SIP_INFO_LIST_KEY = "sipInfoData"
    const val KCP_INFO_KEY = "kcpInfoData"
    const val HAS_NETWORK_KEY = "has_network"
    const val HAS_KCP_NETWORK_KEY = "has_kcp_network"
    const val DOMAIN_ADDRESS = "domain_address"
    const val REALM_ADDRESS = "realm_address"
    const val FCM_TOKEN = "fcm_token"
    const val DEFAULT_SIP_PORT = "7060"
    const val API_ENV = "api_env"
    const val API_ENV_URL = "api_env_url"
    const val API_ENV_URL_CUSTOM = "api_env_url_custom"
    const val FLS_SERVER = "fls_server"

    const val COUNTRY_LIST = "country_list"
    const val COUNTRY_DEFAULT = "country_default"
    const val MAX_USER_COUNT = "max_user_count"
    const val USER_CATEGORY = "user_category"

    const val BLUETOOTH_OPEN_DOOR: String = "bluetooth_open_door"

    const val REMEMBER_EMAIL_ACCOUNT = "REMEMBER_EMAIL_ACCOUNT"
    const val REMEMBER_SIP_ACCOUNT = "REMEMBER_SIP_ACCOUNT"
    const val REMEMBER_PWD_VALUE = "REMEMBER_PWD_VALUE"
    const val REMEMBER_SAVE_ACCOUNT_PWD = "REMEMBER_SAVE_ACCOUNT_PWD"

    const val LOGIN_EXTRA_ACTION_CONFLICT: String = "login_by_another_device"
    const val LOGIN_EXTRA_ACTION_MSG_TIMEOUT: String = "login_extra_action_msg_timeout"

    //    const val BLE_OPEN_DOOR_NAME: String ="Fanvil-BLE"
    const val BLE_OPEN_DOOR_NAME: String = "NL-AccessPoint"
    const val NOTIFICATION_GO_HOME_ACTION: String = "go_home"

    const val KEY_MESSAGE_COUNT: String = "param_local_unread"
    const val KEY_NOTICE_COUNT: String = "param_notice_unread"

    const val TOKEN_START_KEY: String = "token_start_timestamp"
    const val SHAKE_LEVEL: String = "bt_shake_level"
    const val STOP_MQTT_SERVICE: String = "stop_mqtt_service"

    // token 10天需要重新更新
    const val TOKEN_VALID_TIME: Int = 1000 * 60 * 60 * 24 * 10
    const val ACTION_REQUEST_BLE_PERMISSION: String = "action_request_ble_permission"
    const val PUSH_CALL_REMOTE_AID: String = "push_call_remote_aid"
    const val ACTION_CANCEL_PUSH_CALL_NOTIFICATION: String = "action_cancel_push_call_notification"
    const val ACTION_CUSTOM_BACKGROUD_ALARM_NOTIFICATION: String = "action_custom_backgroud_alarm_notification"
    const val APP_FIRST_LOAD: String = "app_first_load"

    const val KEY_DEVICE_NAME: String = "device_name"
    const val KEY_DEVICE_MAC: String = "device_mac"
    const val KEY_DEVICE_TYPE: String = "device_type"

    const val ACCOUNT_INFORMATION_CHANGE_PASSWORD: String = "account_information_change_password"
    const val KEY_USER_CATEGORY: String = "user_category"

}
